package ${package}.dao;

import ${systemPackage}.dao.Dao;
import ${package}.model.entity.User;

/**
 * UserDao public interface.
 */
public interface UserDao extends Dao {
    /**
     * Persists User entity.
     *
     * @param user user to persist
     */
    void save(User user);

    /**
     * Removes User entity.
     *
     * @param user user to remove
     */
    void delete(User user);

    /**
     * Retrieves User entity by name.
     *
     * @param username user name
     * @return user entity
     */
    User getByUsername(String username);
}
